package com.ruoyi.system.mapper;

import java.util.List;
import java.util.Map;
import com.ruoyi.system.domain.SpffVideos;
import org.apache.ibatis.annotations.Param;

/**
 * 数据大屏Mapper接口
 * 
 * @author ruoyi
 * @date 2025-10-15
 */
public interface BigScreenMapper 
{
    /**
     * 获取用户地理分布数据
     * 
     * @return 用户分布列表 [{name: '省份', value: 数量}]
     */
    List<Map<String, Object>> getUserDistribution();

    /**
     * 获取视频地理分布数据
     * 
     * @return 视频分布列表 [{name: '省份', value: 数量}]
     */
    List<Map<String, Object>> getVideoDistribution();

    /**
     * 获取热度视频TOP排行榜
     * 
     * @param size 返回数量
     * @return 热度视频列表
     */
    List<SpffVideos> getHotVideos(@Param("size") Integer size);

    /**
     * 获取总用户数
     * 
     * @return 总用户数
     */
    Integer getTotalUsers();

    /**
     * 获取总视频数
     * 
     * @return 总视频数
     */
    Integer getTotalVideos();

    /**
     * 获取总观看数
     * 
     * @return 总观看数
     */
    Long getTotalViews();

    /**
     * 获取总点赞数
     * 
     * @return 总点赞数
     */
    Long getTotalLikes();

    /**
     * 获取总评论数
     * 
     * @return 总评论数
     */
    Long getTotalComments();
}

